Nozzle compensation for shuttle based printers

ABSTRACT

In a color printing environment, functions for printing color management are dissociated. An abstraction layer is also provided to facilitate setting and evaluation of all factors relating to color print and prediction.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims priority to U.S. Provisional Patent ApplicationNo. 62/360,246 entitled “Nozzle Compensation For Shuttle-BasedPrinters”, filed Jul. 8, 2016, which is incorporated in its entirety bythis reference thereto.

TECHNICAL FIELD

The disclosed teachings generally relate to techniques for compensatingfor defective printer nozzles. More particularly, the disclosedteachings relate to techniques for compensating for defective printernozzles in shuttle-based printers.

BACKGROUND

Common types of inkjet printers include single-pass systems and shuttlebased systems (i.e., multi-pass systems). FIG. 1A illustrates an exampleof printing using a single-pass system. The printer includes one or moreprintheads that span the width of the printer, which is perpendicular tothe direction of the paper transport. The printheads can accessreservoirs of ink to print an image on media that advances under theprintheads in a downstream direction. An image is a perceptiblerepresentation (e.g., a document, a banner, or a graphic) that can berecorded (e.g., printed) on media (e.g., physical substrates such aspaper or tile). The printheads can dispense different inks to print acolored image on the media.

FIG. 1B illustrates an example of printing using a shuttle based system.As shown, printing involves multiple “passes” of a carriage (not shown)including a printhead that moves perpendicular to the direction that themedia advances over a printing area. With each pass, ink can bedispensed onto a medium to print an image. Hence, the carriage can passthe printheads over media multiple times to produce full-color results.

The printheads of inkjet printers eject drops of ink through smallopenings onto media. These small openings are commonly referred to asejection nozzles. Each drop of ink forms a printed dot on media. Aprinted image is formed from numerous pixels that can include printeddots. The nozzles can fail to operate properly when, for example, theybecome clogged with debris. When this occurs, printing is stopped toclean or replace the defective printer nozzles. Accordingly, existingtechniques for correcting for defective printer nozzles arecounterproductive and unfit for modern high speed printers.

SUMMARY

Introduced here is at least one method and at least one apparatus tocompensate for a defective printer nozzle of an array of nozzles used bya printer to print an image. The at least one method includes detectingdefective printer nozzles, and initiating a print job in a print mode.The print job can include image data used to print the image on a mediumin accordance with a print mask that maps the printer nozzles to pixellocations of the image. The method further includes modifying the printmask and/or the image data values to print using the image data withprinter nozzles that can be complementary to the defective printernozzles, and printing the image on the medium in accordance with theprint mode and the modified print mask or the modified image datavalues.

Other aspects of the disclosed embodiments will be apparent from theaccompanying figures and detailed description.

This Summary is provided to introduce a selection of concepts in asimplified form that is further explained below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1A illustrates an example of printing using a single-pass system;

FIG. 1B illustrates an example of printing using a shuttle based system;

FIG. 2 is a block diagram that illustrates components of an inkjetprinter including nozzles that eject ink to print an image on mediaaccording to some embodiments of the present disclosure;

FIG. 3A illustrates a nozzle map for a non-smoothing print modeaccording to some embodiments of the present disclosure;

FIG. 3B illustrates an image build grid for a 4-pass print mode with noredundancy or smoothing according to some embodiments of the presentdisclosure;

FIG. 4A illustrates a nozzle map for an 8-pass print mode having somelevel of redundancy or smoothing according to some embodiments of thepresent disclosure;

FIG. 4B illustrates an image build grid for a heavy smoothing print modeaccording to some embodiments of the present disclosure;

FIG. 5 is a flow diagram illustrating a compensation scheme thatimplements multiple tiers to compensate for defective printer nozzlesaccording to some embodiments of the present disclosure;

FIG. 6 is a flow diagram illustrating a method using fully complementarynozzles to compensate for defective printer nozzles according to someembodiments of the present disclosure;

FIG. 7 is a flow diagram illustrating a method using partiallycomplementary nozzles to compensate for defective printer nozzlesaccording to some embodiments of the present disclosure;

FIG. 8 is a flow diagram illustrating a method for compensating for adefective printer nozzle by modifying image data of an image accordingto some embodiments of the present disclosure;

FIG. 9 is a flow diagram illustrating a method for executing a print jobaccording to some embodiments of the present disclosure;

FIG. 10A illustrates a simulation of a defective image printed withnozzles including two failed nozzles according to some embodiments ofthe present disclosure;

FIG. 10B illustrates a simulation of an image printed by using a firsttier compensation that can use fully complementary nozzles to compensatefor failed nozzles according to some embodiments of the presentdisclosure;

FIG. 10C illustrates a simulation of an image printed by using a secondtier compensation, in addition to a first tier compensation, that canuse partially complementary nozzles to compensate for failed nozzlesaccording to some embodiments of the present disclosure; and

FIG. 11 is a block schematic diagram illustrating a machine in theexample form of a computer system within which a set of instructions forcausing the machine to perform one or more of the methodologiesdiscussed herein may be executed.

DETAILED DESCRIPTION

The embodiments set forth below represent the necessary information toenable those skilled in the art to practice the embodiments andillustrate the best mode of practicing the embodiments. Upon reading thefollowing description in light of the accompanying figures, thoseskilled in the art will understand the concepts of the disclosure andwill recognize applications of these concepts that are not particularlyaddressed herein. It should be understood that these concepts andapplications fall within the scope of the disclosure and theaccompanying claims.

The purpose of terminology used herein is only for describingembodiments and is not intended to limit the scope of the disclosure.Where context permits, words using singular or plural form may alsoinclude the plural or singular form, respectively.

As used herein, unless specifically stated otherwise, terms such as“processing,” “computing,” “calculating,” “determining,” “displaying,”“generating” or the like, refer to actions and processes of a computeror similar electronic computing device that manipulates and transformsdata represented as physical (electronic) quantities within thecomputer's memory or registers into other data similarly represented asphysical quantities within the computer's memory, registers, or othersuch storage medium, transmission, or display devices.

As used herein, the terms “connected,” “coupled,” or variants thereof,mean any connection or coupling, either direct or indirect, between twoor more elements. The coupling or connection between the elements can bephysical, logical, or a combination thereof.

The disclosed embodiments concern techniques to compensate for defectiveprinter nozzles in shuttle based systems of inkjet printers. Asdescribed in greater detail further below, inkjet printing is a type ofcomputer printing that reproduces digital images by propelling dropletsof ink onto paper, tile, plastic, or other tangible media. Inparticular, an image is formed of pixels that may include dots ofdifferent colored inks, and an array of nozzles of the inkjet printereject the dots of ink in accordance with image data included in a printjob generated by a computer. The shuttle based system of the printerpasses the nozzles over the media a number of times as they eject ink toform the image.

Inkjet printers have a number of advantages over other types ofprinters. For example, inkjet printers are quieter in operation thanimpact dot matrix or daisywheel printers. They can print finer, smootherdetails (e.g., photographic-quality printing) through higher printheadresolution. That is, the shuttle based printer can use a greater densityof nozzles and/or perform multiple passes of the nozzles to achieve ahigher resolution. Moreover, inkjets printers require practically nowarm up time, are capable of very high speed printing, and haverelatively low cost per page compared to other types of printers.

Although using nozzles enables the numerous advantages of inkjetprinting, the nozzles are susceptible to malfunctioning or failing. Forexample, ink contained in the nozzles can dry to harden and plug thepassageways of the nozzles. In particular, once ink begins to collectand harden in nozzles, the drop volume of a nozzle can be affected, droptrajectory can change, or the nozzle can completely fail to eject ink.As a result, the nozzle can malfunction or even fail. Thus, a defectiveprinter nozzle does not operate properly to eject suitable amounts ofink on pixel locations of media in accordance with the image data of aprint job.

To compensate for these problems, inkjet printers may use techniquessuch as mechanisms to moisten the nozzles, cover the nozzles, and/orclean the nozzles. Each of these mechanisms has its own disadvantages.For example, routine cleaning requires interrupting printing processesand consumes a substantial amount of ink, which increases the cost perpage. The defective printer nozzles can be detected by printing astandard test pattern on a page and manually inspecting the test patternor automatically inspecting the test pattern by using an imaging system.Thus, existing mechanisms for compensating for defective printer nozzlesrequire halting printing to clean or replace nozzles, which reducesproductivity and increases costs. Alternatively, a slower print modewith higher levels of redundancy can be used to lessen the visibility ofa defective nozzle. This also has the drawback of significantly reducingthe overall output of the printer.

The disclosed techniques overcome these drawbacks by rerouting imagedata for defective printer nozzles to other nozzles or by modifyingimage data to compensate for the defective printer nozzles. In someembodiments, the disclosed techniques can use complementary nozzles thatfully or partially compensate for the defective printer nozzles. A fullycomplementary nozzle refers to another nozzle in an array of nozzlesthat can use image data designated for a defective printer nozzle toprint in the same pixel locations that the defective printer nozzlewould have printed. As such, a fully complementary nozzle canfunctionally replace the printing of a failed nozzle.

A partially complementary nozzle is also another nozzle in an array ofnozzles of a printhead that includes the defective printer nozzle.However, unlike a fully complementary nozzle, a partially complementarynozzle cannot functionally replace the printing of a failed nozzle byprinting in the same pixel locations that the defective printer nozzlewould have printed. Instead, image data of a defective printer nozzlecan be rerouted to one or more partially complementary nozzles to printin neighboring pixel locations that partially intersect the pixellocations where the defective printer nozzle would have printed.

To maximize productivity, some inkjet printers will move the carriage ata speed such that the product of the carriage speed and the resolutionof the print data in that same direction exceeds the maximum firing rateof the print head. While this can increase speed of the printer, itplaces constraints on what image pixel columns can be addressed by anozzle during a pass of the carriage. For example, it might be that onsome passes nozzles are restricted to printing only every-other rastercolumn. Then, on subsequent passes, the raster columns not printed onthe first pass can be addressed. To further illustrate, the nozzles on agiven pass may only print the odd-numbered raster columns, while on thenext pass the nozzles will be restricted to printing only the evennumbered columns. In this manner, it is possible to double the carriagespeed compared to the case in which the carriage speed was limited bythe product of the maximum nozzle firing rate and the image resolutionin the axis of carriage motion.

The disclosed compensation techniques can be arranged in a compensationscheme that uses a combination of fully and/or partially complementarynozzles to compensate for defective printer nozzles in an effectivemanner without halting printing. For example, a compensation scheme mayinclude a combination of tiers. A first compensation tier may includeusing fully complementary nozzles to functionally replace defectiveprinter nozzles, when fully complementary nozzles are available. The useof fully complementary nozzles could provide the most effective andstraightforward level of compensation for defective printer nozzles.

A printer will typically include different print modes. These printmodes may vary many attributes of the printing, including but notlimited to changes in color, printing speed, print resolution, or thenumber of passes used to print the image. In particular, whileincreasing the number of passes reduces the overall output of theprinter, the quality can be improved by making the visual appearance ofany defective nozzle less objectionable. By taking more passes over anygiven raster line, more nozzles can be used to print the image dataassociated with that raster line. This reduces the number of pixelsprinted by a defective nozzle, thereby lessening its negative impact onprint quality.

For printheads that have a defective printer nozzle while printing in aselected print mode without a fully complementary nozzle, a secondcompensation tier may involve using one or more partially complementarynozzles to compensate for the defective printer nozzle. Thus, eventhough it is not always possible to identify another nozzle that canfully compensate a defective printer nozzle, it is still desirable toperform some level of compensation. That is, even if the compensation isnot 100% effective, some compensation can still improve print quality.The disclosed techniques may employ any number of additionalcompensation steps so that each defective printer nozzle can receivesome level of compensation regardless of a print mode. Accordingly, thedisclosed embodiments can provide multi-tiered processes to implement atleast some level of compensation across print modes.

FIG. 2 is a block diagram that illustrates components of an inkjetprinter including nozzles that can eject ink to print an image on mediaaccording to some embodiments of the present disclosure. The inkjetprinter 10 includes a printhead 12, an ink supply 14, and a carriage 16.The printhead 12 includes ejection nozzles 18 for ejecting drops of inkonto printing medium 20 transported by a transport mechanism 22. The inksupply 14 and printhead 12 can be housed in a print cartridge 24 of theprinter 10.

The printer 10 also includes an electronic controller 26 for controllingthe operations of the carriage 16, the print cartridge 24, and thetransport mechanism 22. The carriage 16 can include a drive mechanism tocarry the printhead 12 back and forth across the medium 20 under controlof the controller 26. Hence, the carriage 16 is movable to position theprinthead 12 relative to the medium 20.

The printhead 12 may have a nozzle plate including an array of thenozzles 18. A circuit can carry electrical traces from the controller 26to actuators (e.g., firing resistors or a piezoelectric crystal) behindthe ejection nozzles 18. In operation, the controller 26 selectivelyenergizes an actuator of a nozzle to eject a drop of ink through thenozzle. This process repeats to eject ink by any of the nozzles 18 ontothe medium 20.

The transport mechanism 22 can advance the medium 20 past the printhead12 under control of the controller 26. As such, the printer 10 can printa section of an image onto the medium 20. The section can correspond toat least a step size taken by the printer 10 to advance the medium 20 ina downstream direction.

As such, the controller 26 can receive print data from a computer orother host device 28 and process the print data into printer controlinformation and image data. The controller 26 then coordinates therelative position of printhead 12 and medium 20 with the ejection of inkdrops to produce the desired image on the medium 20 according to theprint data received from host device 28.

Print quality can deteriorate as debris eventually clogs nozzles.However, other nozzles can be used to compensate for a defective printernozzle. For example, consider an array of nozzles of a printhead that is20 inches long and prints in a four-pass mode. The medium upon which animage is printed moves five inches after the printhead passes across themedium. On a first pass, the printer can print a five-inch section of animage on the medium. On the second pass, the medium has moved anotherfive inches, and the printer prints a ten-inch section on the medium. Onthe third pass, the medium has moved another five inches, and theprinter prints a fifteen-inch section on the medium. On the fourth pass,the printer is printing a section corresponding to the entire array ofnozzles on the medium. As such, every printed section on the medium hasthe carriage pass over it four times to collectively print an image onthe medium. Thus, there could be up to four opportunities to correct anysingle pixel that was not addressed due to a defective printer nozzle.

Thus, other nozzles can be used to eject ink in the same or neighboringpixel locations where a defective printer nozzle should have printed.Hence, other nozzles can effectively complement the function ofdefective printer nozzles in subsequent passes of the printheads over amedium. This nozzle replacement strategy relies on identifying adefective printer nozzle, identifying complementary nozzles that arecapable of printing in the same or neighboring pixel locations as thedefective printer nozzle, albeit on a different pass, and rerouting theimage data of the defective printer nozzle to a complementary nozzle.

In industrial printing environments, printers operate as fast aspossible. As a result, some print modes may not allow for some othernozzles to fully compensate for a defective printer nozzle. However, thedisclosed embodiments can perform at least some compensation even thoughit is not always possible to identify other nozzles that can fullycompensate for a defective printer nozzle. For example, a multi-tieredcompensation process can include a first and most effective tier thatuses fully complementary nozzles as a straightforward nozzlecompensation approach, when possible. For defective printer nozzleslacking a nozzle that can fully compensate for the failed nozzle, asecond tier of compensation can be employed whereby nozzles partiallycompensate to print using the image data associated with the defectiveprinter nozzles. As described further below, other or additional tiersof compensation can be employed so that any failed pixel due to adefective printer nozzle can receive some level of compensationregardless of print mode.

The disclosed embodiments can include a nozzle manager of the controller26 coupled to memory of the printhead 12 that contains data pertainingto the status and location of each of the nozzles 18. The data caninclude a nozzle map used to route image data for use by the nozzles 18to print at pixel locations of an image. The data may include statusinformation indicative of whether or not a nozzle is malfunctioning, andthe location of the defective printer nozzle. Accordingly, should thearray have a defective printer nozzle, such information can be stored asdata in memory. Therefore, the data from the memory can be read andcommunicated to bypass the defective printer nozzle, and compensate forthe defective printer nozzle with a functioning nozzle during asubsequent pass by the printhead 12 over the medium 20.

The disclosed techniques where image data for defective printer nozzlesis rerouted to other nozzles to avoid printing defects can be referredto as compensation techniques. Hence, defective printer nozzles thatcould be scheduled to print in pixel locations using image data canforego doing so in accordance with a compensation process, and the datacan be rerouted for other nozzles to compensate for the defectiveprinter nozzles. In addition, the disclosed embodiments can includecombinations of compensation tiers using partially and/or fullycomplementary nozzles to provide varying degrees of compensation.

The disclosed embodiments can use compensation techniques in variousprint modes to compensate for defective printer nozzles. FIGS. 3Athrough 5B illustrate examples of nozzle maps and related image buildgrids (“image builds”) that can be used to implement partially and/orfully complementary nozzles using varying degrees of smoothing. Thedisclosed embodiments are not limited by the specific dimensions of thenozzle maps or image builds shown in these figures. Instead, the figuresillustrate simple examples meant to aid in understanding aspects of thedisclosed embodiments.

FIGS. 3A and 3B respectively illustrate a nozzle map and related imagebuild that can only use partially complementary nozzles to compensatefor defective printer nozzles. Specifically, FIG. 3A illustrates anozzle map that does not employ smoothing to build an image but cancompensate for defective printer nozzles with partially complementarynozzles according to some embodiments of the present disclosure. Thus,each nozzle that can address a given pixel location in accordance withits image data will eject ink rather than reroute the image data forlater use or use by other nozzles. FIG. 3B illustrates an image buildindicative of print passes and pixel locations where nozzles can printdots to form an image according to some embodiments of the presentdisclosure. The printer can use the nozzle map to identify and rerouteimage data of a defective printer nozzle to other nozzles thatcompensate for the defective printer nozzle without smoothing.

The nozzle map of FIG. 3A includes raster rows R₁ through R₃₂ and passcolumns P₁ through P₈. The raster rows represent raster lines of animage, and the pass columns represent the sequence of multiple passes ofa printhead over media used by shuttle based printers to build an image.An intersection of a raster row and a pass column can be indicative of apixel location of the image that can include a dot of ink printed byejecting ink from a nozzle.

In this example, the printhead includes an array of nozzles N₁ throughN₆ that are used to print a spatial distribution of dots in pixellocations that form an image. As such, the nozzle map defines the nozzleresponsible for printing a dot in a specified pixel location during aspecified pass of the printhead over the media. Moreover, the passcolumns are designated as either odd (O) or even (E) passes. Thisdesignation indicates whether printing by specific nozzles mapped topixel locations for a specific pass column occurs on alternating odd oreven passes of the printhead over the media.

Thus, the nozzle map of FIG. 3A is used for mapping six nozzles N₁through N₆ to print dots in pixel locations in accordance with imagedata during at least one of eight passes P₁ through P₈. For each pixellocation with an associated nozzle value, that specific nozzle isresponsible for ejecting ink in the pixel location during the specifiedpass. As shown, the nozzle map includes some pixel locations withoutnozzle values. Hence, the nozzles can be arranged such that dots are notprinted on consecutive raster rows in each pass. In other words, nozzlescan be spatially separated by a number of raster rows such that printingby the nozzles during each pass skips that number of raster rows.Moreover, the spacing between nozzles of each print pass or acrosspasses can have any pattern including regular, irregular, dynamic,and/or static patterns.

The arrangement of nozzles for each pass column of the nozzle map isoffset by a number of raster rows relative to a previous pass column.The offset represents a step size taken by the printhead before printinga next pass column. Although FIG. 3A indicates that a printhead steps anumber of raster rows, a person skilled in the art would understand thatthe offset can be achieved by stepping the media the same number ofraster rows rather than stepping the printhead. The step size for eachpass or across passes can have any pattern including regular, irregular,dynamic, and/or static patterns.

A printer can interleave printing by an array of nozzles to achieveprinted images having varying degrees of resolutions. The nozzle map ofFIG. 3A shows use of a low density nozzle array to print a higherdensity of dots. That is, the density of nozzles in the array is lowerthan the density of dots that can be printed by the nozzles to achievean image resolution. For example, suppose a printhead has an array of180 nozzles evenly separated by 1/180 of an inch. To print 360 dots perinch (dpi), the step size used for printing is such that the 180 nozzlesprint on a second pass at locations between where the nozzles printed ona first pass. As such, 180 nozzles can print 360 raster lines or rowswith two passes by the printhead such that the dots are separated by1/360 of an inch. Accordingly, the resolution of images can be twice orany multiple of the resolution of the nozzles by interleaving theprinting of the nozzles.

Specifically, the nozzle map of FIG. 3A shows an example print headcontaining six nozzles such that that the array of nozzles N₁ through N₆print on every other raster row for each pass. Further, each pass isoffset by three raster rows, which represents the step size of theprinthead. For example, the nozzles [N₁, N₂, N₃, N₄, N₅, N₆] print onraster rows [1, 3, 5, 7, 9, 11] on the first (odd) pass P₁. Then, afterstepping three raster rows, the same nozzles print on raster rows [4, 6,8, 10, 12, 14] on the second (odd) pass P2. As a result, the nozzles N1through N6 can interleave dots on the second pass P₂ in locationsbetween the locations where those nozzles could have printed on thefirst pass P₁. After stepping another three raster rows, the samenozzles print on raster rows [7, 9, 11, 13, 15, 17] on the third (even)pass P3. Then, after stepping yet another three raster rows, the samenozzles print on raster rows [10, 12, 14, 16, 18, 20] on the fourth(even) pass P4, and so on for the remaining passes P5 through P8. Thisresults in a high resolution image that takes only four passes to fullyprint a given section. That is, the fourth pass is a final pass becausefour passes are required for a nozzle to print all possible imagelocations on that section of the print media (e.g., between each of thenozzles N₁ through N₆).

As indicated above, shuttle based printers are usually operated in highspeed printing modes. For example, a shuttle based printer can operate acarriage to move a printhead over a medium at twice the firing rate ofthe nozzles. As a result, a nozzle may not print on every raster columnof an image formed of raster rows and raster columns. Instead, a nozzlemay print to every other raster column of a raster row for each pass.Accordingly, the shuttle based printer not only interleaves the nozzlesacross raster rows, but can also interleave the nozzles across rastercolumns to build an image.

FIG. 3B illustrates an image build formed by implementing the nozzle mapof FIG. 3A. The image build represents pixel locations at theintersection of the raster rows R₁ through R₃₂ and raster columns C₁through C₉. Each box that represents a pixel location can include apass-nozzle pair of values denoted as [P_(r), N_(y)]. The pass-nozzlepair values for the image build are determined based on the nozzle mapof FIG. 3A. For example, the nozzle map indicates that nozzle N₃ isresponsible to print raster row R₈ during the second pass P₂, which isan odd pass. As such, the pass-nozzle pair [P₂, N₃] is associated withevery odd raster column [C₁, C₃, C₅, C₇, C₉] of the raster row R₈ toindicate that the nozzle N₃ is responsible for printing at each of thecorresponding pixel locations.

Accordingly, a central region of the image build of FIG. 3A is formed byinterleaving the print operations of the nozzles N1 through N6 accordingto the nozzle map of FIG. 3A. In the illustrated example, a fourth ofthe pixels are printed in the region during a first pass, and anotherfourth of the pixels are printed in the region during a second pass.Thus, half of the pixels can be filled after two passes. The remainingtwo passes can fill in the remaining pixels of the image build. Thus,every one of the pixels in the central region can be addressed by anozzle during a pass of the printhead.

As commonly occurs with inkjet printers, any of the nozzles N₁ throughN₆ may fail to operate properly. For example, nozzle N₃ could becomeplugged with hardened ink that prevents the nozzle from ejecting ink atthe pixel locations indicated in the image build of FIG. 3B. As aresult, a printed image can have pixels that failed to receive ink,which impairs the print quality of the printed image.

FIGS. 3A and 3B illustrate at least one technique to overcome thesedrawbacks. A fully complementary nozzle can print in the same raster rowand in the same odd or even position as the defective printer nozzle.That is, a fully complementary nozzle can print in exactly the samepixel location as the location of the defective printer nozzle. Incontrast, partially complementary nozzles can print on the same rasterrows but in opposite odd or even positions. That is, partiallycomplementary nozzles can print in pixel locations neighboring the pixellocations where the defective printer nozzle could have printed. Thus,partially complementary nozzles can print in a pixel location slightlyoffset from the actual pixel location of the defective printer nozzle.

In the embodiments illustrated by FIGS. 3A and 3B, only one nozzle isresponsible for printing any of the pixel locations. Consequently,nozzles N₁ through N₆ do not have any fully complementary nozzles thatcan compensate for defective printer nozzles. For example, if nozzle N₅is malfunctioning, it may not eject any ink onto media. There is noother nozzle that could address the exact pixel location of the nozzleN₅, and as such, those pixel locations would be left blank. Thus, fullycomplementary nozzles cannot be used to address printing defects in thiscase.

However, defective printer nozzles can be addressed with partiallycomplimentary nozzles that can print in neighboring pixel locations ofthe same raster row. For example, the pass-nozzle pair [P₁, N₅] canprint in the pixels located in the odd raster columns [C₁, C₃, C₅, C₇,C₈] of the raster row R₉. The pass-nozzle pair [P₃, N₂] can print in theneighboring pixel locations in the even raster columns [C₂, C₄, C₆, C₈]of the raster row R9. As such, the nozzle N₂ is a partiallycomplementary nozzle to nozzle N₅. TABLE 1 shows a mapping betweennozzles and their partially complementary nozzles which can beimplemented without smoothing to compensate for defective printernozzles.

TABLE 1 Nozzle Map for Non-Smoothing Print Mode Fully Partially NozzleComplementary Complementary (e.g., defective) Nozzles Nozzles 1 — 4 2 —5 3 — 6 4 — 1 5 — 2 6 — 3

To compensate for defective printer nozzles, the printer can rerouteimage data meant for use by the defective printer nozzles to use bypartially complementary nozzles. Hence, the rerouted image data maycause the partially complementary nozzles to eject ink in pixellocations neighboring the pixel locations where the defective printernozzles would have ejected ink.

FIGS. 4A and 4B respectively illustrate a nozzle map and related imagebuild for printing in a heavy smoothing print mode. In this example, theprint head is taken to have 12 nozzles. The heavy smoothing mode can usefully complementary nozzles and/or partially complementary nozzles tocompensate for each and every defective printer nozzle. Specifically,FIG. 4A illustrates a nozzle map for a heavy smoothing print modeimplemented by a printer to build an image. Thus, each pixel locationcan be addressed by a fully complementary nozzle and two partiallycomplementary nozzles.

FIG. 4B illustrates an image build indicative of print passes and pixellocations where nozzles can print dots to form an image according tosome embodiments of the present disclosure. In the event of a defectiveprinter nozzle, the printer can use the nozzle map to identify fullyand/or partially complementary nozzles and compensate for the defectiveprinter nozzles by rerouting image data for the complementary nozzles.The heavy smoothing print mode uses additional passes compared to thelight smoothing print mode, which enables compensating for any defectiveprinter nozzles with fully or partially complementary nozzles. Inparticular, the nozzle map of FIG. 5A shows this print mode using twicethe number of passes compared to the no-smoothing example. FIG. 5A showsthe nozzle array is passed eight times over every section of media. Theexample shows twelve passes in total. Those skilled in the art willrecognize that a larger image will require additional passes to completeprinting of the image than the example shown here, but in all cases theprint head will pass over each part of the media eight times.

TABLE 2 shows a mapping between nozzles and their fully and partiallycomplementary nozzles, which can be implemented to compensate fordefective printer nozzles in a heavy smoothing print mode. As shown,each nozzle has a fully complementary nozzle and two partiallycomplementary nozzles.

TABLE 2 Nozzle Map with Heavy Smoothing Fully Partially NozzleComplementary Complementary (e.g., defective) Nozzles Nozzles 1 7 10, 4 2 8 11, 5  3 9 12, 6  4 10 7, 1 5 11 8, 2 6 12 9, 3 7 1 10, 4  8 2 11,5  9 3 12, 6  10 4 7, 1 11 5 8, 2 12 6 9, 3

To compensate for defective printer nozzles in a heavy smoothing printmode, the printer can reroute image data meant for the defective printernozzles to their fully complementary nozzles and/or any partiallycomplementary nozzles. For example, the rerouted image data may cause afully complementary nozzle to eject an amount of ink of a particularcolor in the exact same location where a defective printer nozzle wouldhave ejected ink. Alternatively, or additionally, the rerouted imagedata may cause partially complementary nozzles to eject an amount of inkof a particular color in pixel locations neighboring the pixel locationswhere the defective printer nozzles would have ejected ink.

As Table 2 indicates, this heavy smoothing print mode shows every nozzlehas a fully complementary nozzle. During normal printing operation,therefore, the printer has a choice as to which nozzle to use to printany given pixel location: it can either use the first nozzle to addressthat pixel location or its fully complementary nozzle. In fact, itshould be evident to those skilled in the art that it is possible tocreate print modes with higher levels of redundancy, for example, whereevery nozzle has two or more fully complementary nozzles. Therefore, amechanism is required to instruct the printer on which of the fullycomplementary nozzles to use. This is typically accomplished by way of aprint mask. In one particular form, the print mask could be a binarytwo-dimensional array with a height equal to the number of nozzles inthe print head array and the width equal to the width of the image beingprinted (or a narrower array that is tiled horizontally until it matchesthe image width). The binary print mask has a TRUE value where it isdesired to have that nozzle print image data; likewise, it has a FALSEvalue where that nozzle is instructed not to print. Therefore, a set offully complementary nozzles will have at least one TRUE value at eachcolumn of the print mask. During the printing operation, on each pass,the print mask is mathematically ANDED with the image data. This ensuresthat each image pixel location will be printed once and only once by oneof the fully complementary nozzles. If a print mode is designed to“double strike” every pixel (i.e., be capable of depositing two drops ofink at each pixel location), the mask would have two TRUE values for aset of fully complementary nozzles for every column of the print mask.

FIGS. 5 through 9 are flow diagrams illustrating methods for modifying aprint mask or image data used for a print job to compensate fordefective printer nozzles. The methods include techniques for modifyinga print mask by rerouting image data of a defective printer nozzle toother nozzles and/or modifying image data printed by the other nozzles.As such, some compensation techniques involve substituting the printingof defective printer nozzles with other nozzles using varying degrees ofsmoothing, and other compensation techniques involve modifying imagedata printed by other nozzles to compensate for the defective printernozzles. In some embodiments, the print masks and image data values maybe kept in memory and modified in memory before printing.

FIG. 5 is a flow diagram illustrating a compensation scheme thatimplements multiple tiers to compensate for defective printer nozzlesaccording to some embodiments of the present disclosure. The illustratedmethod shows a compensation scheme that includes four ordered tiers.However, a compensation scheme may involve any number of tiers arrangedin any order to obtain a desired compensation effect. As such, FIG. 5merely illustrates an example of a compensation scheme that could bemodified in any number of ways to achieve a desired compensation effect.

The method of FIG. 5 involves modifying a print mask and/or modifyingimage data values used for printing an image of a print job. The printmask maps nozzles to particular image pixels of an image to be printed.For example, when two complementary nozzles can print at the same imagepixel, the print mask would schedule one of the two nozzles to print therequired image pixel. The print mask can be modified in accordance withany combination of tiers to compensate for defective printer nozzles.For example, the print mask may be modified to use fully and/orpartially complementary nozzles to compensate for failed nozzles.Moreover, a combination of tiers could be selected to provide anydesired amount of compensation. For example, a compensation scheme mayinvolve a first compensation tier that modifies a print mask to usefully complimentary nozzles, a second compensation tier that modifies aprint mask to use partially compensating nozzles, a third compensationtier that modifies image data values of nozzles neighboring thedefective printer nozzles, and so on.

In some embodiments, a first tier that involves using fullycomplementary nozzles alone may be sufficient to compensate fordefective printer nozzles. In some embodiments, the first tier can becombined with a second tier to incorporate using partially complementarynozzles to compensate for some defective printer nozzles that do nothave fully complementary nozzles. In some embodiments, the combinationof these two tiers could be sufficient to compensate for the vastmajority of defective printer nozzles. As such, the dashed line shown inFIG. 5 represents a portion of the compensation scheme that includesonly the first and second tiers, which could be sufficient to compensatefor the majority of defective printer nozzles without any additionalcompensation techniques.

In step 502, at least one failed nozzle (N_(X)) of a printhead isdetected. For example, a printer may include an image inspection systemthat uses a camera to capture samples of images being printed on media.The captured samples may be checked for imperfections indicative of adefective printer nozzle. In another example, a user may print adiagnostic grid of pixels to check for failed nozzles or run anelectrical diagnostic routine to check for the failed nozzles. As such,the printer can detect a failed nozzle and initiate one or morecompensation tiers to compensate for the defective printer nozzle.

The printer can compensate for the defective printer nozzle whenprinting an image of a print job by modifying a print mask used to printthe image. For example, in step 504, a print mode (PM) is selected tocomplete a print job. In some embodiments, the print mode is selected bya user or automatically selected by the printer. In step 506, the nozzlemap and print mask is created or retrieved from memory for printing theimage in accordance with the selected print mode. In some embodiments,the nozzle map may be specific for a given print mode to enable heavy orlight smoothing compensation, or compensation without smoothing.

In step 508, an enumerated list of fully complementary nozzles (FCNs)and partially complementary nozzles (PCNs) that may be used tocompensate for the failed nozzle is obtained. For example, theenumerated list of fully and/or partially complementary nozzles can bederived from the nozzle map as described above. In some embodiments, theenumerated list may be pre-computed and retrieved from memory. In someembodiments, the enumerated list may be generated after failed nozzleshave been detected. TABLES 1 and 2 shown above are examples ofenumerated lists. In step 510, a two-dimensional (2D) table(“ImageScale”) is created that can modify the image data printed withthe print mask. In some embodiments, the ImageScale is the same size(i.e., dimensions) as the print mask. The entries of the ImageScale areall initialized to zero.

The remaining steps of the method include several loops used toiteratively check for raster columns of the print mask mapped todefective printer nozzles and modify the print mask or image data valuesto compensate for the defective printer nozzles. In step 512, the ithcolumn of the print mask is checked for pixels mapped to defectiveprinter nozzles. In step 514, a fixed column flag (“flag_(Fix_col)”) isset to false for the ith column, which indicates that the ith column hasnot undergone compensation. In step 516, the row of the print maskattributed to nozzle N_(x) is checked to determine whether the ithcolumn is mapped to a defective printer nozzle. If not, the loopcontinues to step 518 to check whether the ith column is the last columnof the print mask. If not, the loop continues to step 520 to check thenext column (ith+1 column). In some embodiments, the loop formed by thesteps 514 through 520 iterates until each column of the print mask hasbeen evaluated to compensate for any defective printer nozzles.

In step 516, if the ith column of the N_(x) row of the print mask beingevaluated is TRUE, then the method continues through one or more tiersto compensate for that defective printer nozzle. In step 522, a firsttier involves using fully complimentary nozzles to compensate fordefective printer nozzles when possible (e.g., when fully complimentarynozzles are available). If fully complimentary nozzles are not availableto compensate for the defective printer nozzles, the fixed column flagfor the ith column (including the defective printer nozzle) remains setto false in step 524 and the method continues through another tier ofcompensation.

In step 526, a second tier involves using partially complementarynozzles to compensate for the defective printer nozzles when possible(e.g., when partially complimentary nozzles are available). If partiallycomplementary nozzles are not available, the fixed column flag for theith column including the failed nozzle remains set to false in step 528,and the method continues through another tier of compensation.

In step 530, a third tier involves increasing the image data valuesprinted by partially complementary nozzles to compensate for thedefective nozzles. If compensation remains unavailable or ineffective,then the method of FIG. 5 has failed to compensate for the defectiveprinter nozzle of the ith column, and the method evaluates the remainingcolumns iteratively to compensate when possible.

As described further below, the fixed column flag for the ith column canchange to true when the print mask and/or image data has been modifiedto successfully compensate for any failed nozzles of the ith column byusing the particular compensation tier. Thus, if the fixed column flagis true or all the compensation tiers have been processed for the ithcolumn, the method continues to step 518 to evaluate any remainingcolumns that may require compensation before printing the print job withthe modified print mask. After all the columns of the print mask havebeen checked and all defective printer nozzles have been compensated for(when possible), a print mask value indicative of the existence ofdefective printer nozzles is set to false in step 532, and the print jobis executed in step 534.

FIG. 6 is a flow diagram illustrating a method using fully complementarynozzles to compensate for defective printer nozzles according to someembodiments of the present disclosure. For example, the first tiercompensation of step 622 may involve evaluating fully complementarynozzles of each defective printer nozzle, and modifying the print maskto use a suitable fully complementary nozzle to print in locations ofith columns where the defective printer nozzles were scheduled to print.In step 602, a list of fully complementary nozzles is enumerated for adefective printer nozzle of the ith column currently being evaluated. Insome embodiments, the enumerated list can be obtained as a subset of theenumerated list of fully and partially complementary nozzles obtained instep 608.

In step 604, each fully complementary nozzle of the enumerated list isevaluated to determine whether it could compensate for the defectiveprinter nozzle printing mapped to the ith column. In step 606, the printmask is checked to determine whether the fully complementary nozzle isnot already scheduled to print in the ith column where the defectiveprinter nozzle is scheduled to print. If already scheduled to print inthe ith column, the fully complementary nozzle cannot be used forcompensating. In step 608, the enumerated list is checked to determinewhether there are any remaining fully complementary nozzles. In steps608 and 610, if there are remaining nozzles on the list, then theremaining nozzles are iteratively evaluated to determine whether theyare not already schedule to print on the ith column. In step 612, ifthere are no remaining nozzles on the list, then a suitable fullycomplementary nozzle was not identified and the method 600 returns tostep 622 to evaluate a compensation tier.

Referring back to step 606, if the fully complementary nozzle beingevaluated is not scheduled to print on the ith column, then, in step614, the print mask is modified to compensate for the defective printernozzle by rerouting image data to that fully complementary nozzle. Instep 616, upon scheduling the fully complementary nozzle to compensatefor the defective printer nozzle, the fixed column flag is set to trueto indicate that the print mask was successfully modified to compensatefor printing in the ith column. Hence, no further tiers of compensationare necessary for the ith column because a fully complementary nozzle isbeing used to compensate for the defective printer nozzle. Lastly, instep 612, the method 600 returns to step 622 and may continue toevaluate any remaining columns.

FIG. 7 is a flow diagram illustrating a method using partiallycomplementary nozzles to compensate for defective printer nozzlesaccording to some embodiments of the present disclosure. For example, asecond tier compensation of step 526 may involve evaluating partiallycomplementary nozzles for each defective printer nozzle and modifyingthe print mask to use a suitable partially complementary nozzle to printthe ith column, where a defective printer nozzle may have been scheduledto print.

In step 702, an enumerated list of partially complementary nozzles isobtained for the defective printer nozzle of the ith column identifiedin step 716. For example, the enumerated list of partially complementarynozzles for the ith column may be obtained as a subset of the enumeratedlist of fully and partially complementary nozzles obtained in step 508.In step 704, each partially complementary nozzle of the enumerated listis evaluated to determine whether it could compensate for the defectiveprinter nozzle scheduled to print in the ith column. Specifically, instep 706, the print mask is checked to determine whether a nozzle on theenumerated list is not already scheduled to print in a columnneighboring the column where the defective printer nozzle would haveprinted. More specifically, the print mask is checked to determinewhether the partially complementary nozzle is not already scheduled toprint in the ith+1 column.

In step 708, if the partially complementary nozzle is already scheduledto print in the ith+1 column, then the print mask is checked todetermine whether the enumerated partially complementary nozzle isscheduled to print in another column neighboring where the defectiveprinter nozzle would have printed. More specifically, the print mask ischecked to determine whether the partially complementary nozzle is notalready scheduled to print the ith−1 column. Hence, if the partiallycomplementary nozzle is already scheduled to print in the ith+1 or ith−1column, then that nozzle cannot be used for compensating.

In step 710, the enumerated list of partially complementary nozzles ischecked to determine whether there are any remaining nozzles on the listthat have not been evaluated as suitable partially complementarynozzles. In step 712, if there are any remaining nozzles on the list,the next nozzle on the list is evaluated to determine whether it wouldbe a suitable partially complementary nozzle. On the other hand, if thecurrently evaluated nozzle is the last nozzle on the list of partiallycomplementary nozzles, then all the partially complementary nozzles onthe enumerated list have been checked and a suitable partiallycomplementary nozzle was not identified. If so, in step 714, the method700 returns to step 526 and continues by evaluating remaining tier tocompensate for the defective printer nozzle scheduled to print in theith column.

Referring back to each of steps 706 or 708, if the evaluated nozzle isnot scheduled to print in the ith+1 or ith−1 columns, then, in steps 716or 718, the print mask is modified to schedule the evaluated nozzle tocompensate for the defective printer nozzle by printing in itsrespective neighboring column. As such, the print mask is modified tocompensate for the defective printer nozzle scheduled to print in theith column by using the partially complementary nozzle

In steps 720 or 722, the fixed column flag is set to true, whichindicates that no further tiers of compensation are necessary tocompensate for the ith column because a partially complementary nozzlehas successfully been scheduled to compensate for the correspondingdefective printer nozzle. Lastly, in step 714, the method returns tostep 626 and may continue to evaluate any remaining columns.

As indicated above, other compensation tiers may involve modifying theimage data values printed by nozzles rather than rerouting image data ofdefective printer nozzles to other nozzles. In other words, compensationcan involve modifying an image rather than modifying the print mask tocompensate for the defective printer nozzles. For example, image datacan be modified to cause nozzles to print larger dots in pixel locationsneighboring pixel locations where defective printer nozzles werescheduled to print.

Note that the compensation technique of FIG. 7 does not modify the imagedata. Rather, that compensation technique will cause a change (e.g.,increase) in an amount of ink deposited in a neighboring column (e.g.,by double striking that pixel location) if and only if ink was alreadyrequested at that neighboring raster column in the original image data.This contrasts with the remaining two compensation techniques describedbelow with reference to FIGS. 8 and 9, which actually modify the imagedata.

FIG. 8 is a flow diagram illustrating a method for compensating for adefective printer nozzle by modifying image data according to someembodiments of the present disclosure. For example, the third tiercompensation technique of step 530 can include the method 800implemented for print modes that use varying amounts of ink such asbinary (i.e., black and white) or grayscale print modes.

The printer can compensate for a defective nozzle by setting theImageScale so that image data that would have been printed in a failedpixel by the defective nozzle is instead printed by a partiallycomplementary nozzles in one or more neighboring pixels. Hence, imagedata of neighboring pixel(s) is modified with image data of a failedpixel.

For example, in step 802, a number (R) is randomly (or pseudo-randomly)selected. The number R may be used to select a partially complementarynozzle. For example, the number R may be a value (e.g., either 0x01 or0x02) designating respective partially complementary nozzle. In anotherexample, the number R can range between two boundary values divided by athreshold value used to select a partially complementary nozzle. Forexample, R can range from 0 to 1 and the threshold value can be 0.5. Afirst partially complementary nozzle may be selected when R is equal toor less than 0.5, and a second partially complementary nozzle may beselected when R is greater than 0.5.

In step 804, the image data value scheduled in the print mask forprinting by the defective nozzle in the ith column is set in theImageScale for printing by the randomly selected partially complementarynozzle in a neighboring pixel. The pseudo/random selection can yield auniform appearance for the compensated image. In step 806, thefixed-column flag is set to true, which indicates that furthercompensation is not necessary to compensate for the defective printernozzle. Lastly, in step 808, the method returns to step 530 to evaluatethe remaining columns of the print mask.

The effectiveness of this compensation technique may depend on theoriginal unmodified image data of the modified pixel. Specifically, inbinary or grayscale print modes, the image data of an image pixel ismodified by adding ink to a neighboring pixel. However, an image pixelcan only be modified with additional ink that would not exceed a maximumvalue typically associated with such print modes.

For example, in a binary print mode, the image data value of any imagepixel is either 0 or 1. If the value of a failed pixel is 1, aneighboring pixel having an original value of 0 would compensate for thefailed pixel by having a modified value of 1. However, adding a failedpixel value of 1 to a neighboring pixel having a value of 1 would notcompensate for the failed pixel because the value of the modified pixelwould be 1+1=2, which exceeds the binary value of 1. Hence, the modifiedpixel value would have the same unmodified value of 1. Thus, thiscompensation technique is effective about half the time in a binaryprint mode.

In a grayscale print mode, the image data value of an image pixel canrange up to a maximum value T. The value (M) of a modified neighboringpixel would be the sum the original unmodified value and the value ofthe failed pixel. Since M cannot exceed T, the actual value of themodified pixel may be reduced to a value equal or less than T. Hence,the effectiveness of this compensation technique depends on thedifference between T and M in grayscale print modes.

FIG. 9 is a flow diagram illustrating a method for executing a print jobaccording to some embodiments of the present disclosure. The method 900illustrates an example of the process of step 534 to print a compensatedimage. In step 902, the ImageScale is tiled across the image of theprint job (similar to the print mask) to print the image in accordancewith the modified print data.

In step 904, each image pixel of a print job is evaluated iteratively tomodify the pixel with corresponding image data indicated in theImageScale. For example, in step 906, a pixel being evaluated is scaled(e.g., increased) in accordance with the ImageScale. In step 908, themodified image pixel is adjusted to the maximum of the maximum modifiedvalue M or maximum threshold value T in a grayscale print mode. In otherwords, the image value of the modified image pixel is limited to themaximum value available to print that image pixel.

In step 910, a determination about whether there are any remaining imagepixels of the image that have not been evaluated is performed. In step912, if there are remaining image pixels, the method 900 continues byevaluating any next image pixels until there are no remaining imagepixels to evaluate. In step 914, if all the image pixels of the imagehave been evaluated, the modified image is printed using the modifiedprint mask.

FIG. 10A illustrates a simulation of a defective image printed withnozzles including some defective nozzles. FIG. 10B illustrates animplementation of a first tier compensation to compensate for defectiveprinter nozzles with fully complementary nozzles, where available. FIG.10C illustrates an implementation of a second tier compensation inaddition to a first tier compensation. The second tier compensation cancompensate for defective printer nozzles with partially complementarynozzles, where available. The printed images of FIGS. 10A through 10Care simulated by mimicking the behavior of a printer and using opticalmodeling of resulting dots printed on pixels.

Specifically, FIG. 10A illustrates a simulation of a defective imageprinted with nozzles that includes two failed nozzles according to someembodiments of the present disclosure. As shown, the printed image isdefective because it includes two erroneous horizontal lines of blankpixels. Each horizontal blank line results from a nozzle that failed toeject ink. The image was printed without implementing any compensation.

FIG. 10B illustrates a simulation of an image printed by using a firsttier compensation that can use fully complementary nozzles to compensatefor failed nozzles according to some embodiments of the presentdisclosure. Compared to the printed image of FIG. 10A, a fullycomplementary nozzle is used to compensate for the nozzle responsiblefor printing the lowermost horizontal blank line. In this case, thefailed nozzle responsible for printing the uppermost horizontal blankline does not have a fully complementary nozzle. As such, applying thefirst tier compensation can compensate for the lowermost horizontalblank line but not the uppermost horizontal blank line.

FIG. 10C illustrates a simulation of an image printed by using a secondtier compensation, in addition to the first tier compensation, that canuse partially complementary nozzles to compensate for failed nozzlesaccording to some embodiments of the present disclosure. Hence, fullycomplementary nozzles may compensate some failed nozzles and partiallycomplementary nozzles may compensate for other failed nozzles. Comparedto the printed image of FIG. 10B, in addition to the fully complementarynozzle that can compensate for failed nozzle responsible for printingthe lowermost horizontal blank line, a partially complementary nozzlecan compensate for the failed nozzle responsible for printing theuppermost horizontal blank line. Since the lowermost failed nozzle hadbeen compensated for by a fully complementary nozzle, furthercompensation of that nozzle with a partially complementary nozzle may beunnecessary and could be avoided to conserve resources. As such,applying the second tier compensation in addition to the first tiercompensation can compensate for both the of the erroneous horizontallines.

FIGS. 10A through 10C are merely examples that illustrate how acombination of compensation techniques can improve the quality ofprinted images while avoiding disruptions to fix defective printernozzles. However, the disclosed embodiments are not so limited. Forexample, the first tier compensation can be used alone when alldefective printer nozzles have fully complementary nozzles, or thesecond tier compensation can be used alone when any defective printernozzles have partially complementary nozzles. In another example, thesecond tier compensation may be implemented before or after the firsttier compensation is implemented. As such, reference to a “first,”“second,” or any other numbered tier is meant to distinguish betweencompensation techniques but does not necessarily suggest an order.

FIG. 11 is a block diagram of a computer system that may be used toimplement certain features of some of the disclosed embodiments. Thecomputer system 30 may be or include a printing system including anozzle manager, a server computer, a client computer, a personalcomputer (PC), a user device, a tablet PC, a laptop computer, a personaldigital assistant (PDA), a cellular telephone, an iPhone, an iPad, aBlackberry, a processor, a telephone, a web appliance, a network router,switch or bridge, a console, a hand-held console, a (handheld) gamingdevice, a music player, any portable, mobile, hand-held device, wearabledevice, or any machine capable of executing a set of instructions,sequential or otherwise, that specify actions to be taken by thatmachine. Any of these devices may be coupled to a shuttle based printerthat implemented the disclosed techniques under the control ormanagement of the computer system 30. In some embodiments, the shuttlebased printer may include the computer system 30 (e.g., as a controlsystem).

The computer system 30 may include one or more central processing units(“processors”) 32, memory 34, input/output devices 36, e.g. keyboard andpointing devices, touch devices, display devices, storage devices 38,e.g. disk drives, and network adapters 43, e.g. network interfaces, thatare connected to an interconnect 40.

The interconnect 40 is illustrated as an abstraction that represents anyone or more separate physical buses, point-to-point connections, or bothconnected by appropriate bridges, adapters, or controllers. Theinterconnect 40, therefore, may include, for example, a system bus, aperipheral component interconnect (PCI) bus or PCI-Express bus, aHyperTransport or industry standard architecture (ISA) bus, a smallcomputer system interface (SCSI) bus, a universal serial bus (USB), IIC(2C) bus, or an Institute of Electrical and Electronics Engineers (IEEE)standard 1394 bus, also referred to as Firewire.

The memory 34 and storage devices 38 are computer-readable storage mediathat may store on-transitory instructions that implement at leastportions of the disclosed embodiments. In addition, the data structuresand message structures may be stored or transmitted via a datatransmission medium (e.g., a signal on a communications link). Variouscommunications links may be used (e.g., the Internet, a local areanetwork, a wide area network, or a point-to-point dial-up connection).Thus, computer readable media can include computer-readable storagemedia (e.g., non-transitory media) and computer-readable transmissionmedia.

The instructions stored in memory 34 can be implemented as softwareand/or firmware to program the processor(s) 32 to carry out the actionsdescribed above. In some embodiments, such software or firmware may beinitially provided to the processor(s) 32 by downloading it from aremote system through the computing system 40 (via, e.g., a networkadapter 42).

The various embodiments disclosed herein can be implemented by, forexample, programmable circuitry (e.g., one or more microprocessors)programmed with software and/or firmware, entirely in special-purposehardwired, i.e. non-programmable, circuitry, or in a combination of suchforms. Special-purpose hardwired circuitry may be in the form of, forexample, one or more ASICs, PLDs, FPGAs, etc.

Although the embodiments are described herein with reference to thevarious features, one skilled in the art will readily appreciate thatother applications may be substituted for those set forth herein withoutdeparting from the spirit and scope of the present invention.Accordingly, the invention should only be limited by the Claims includedbelow.

The invention claimed is:
 1. A method to compensate for a defectiveprinter nozzle, the method comprising: detecting a defective printernozzle of a plurality of printer nozzles; initiating a print job in aprint mode, the print job including image data to be printed by thedefective printer nozzle in accordance with a print mask that maps theplurality of printer nozzles to a plurality of pixel locations of animage; modifying the print mask to print the image data with acomplementary nozzle that can fully or partially compensate for thedefective printer nozzle, wherein the print mask is modified to printwith a partially complementary nozzle when a fully complementary nozzleis unavailable to compensate for the defective nozzle; and printing theimage in accordance with the print mode and the modified print mask. 2.The method of claim 1, wherein the print mask is an unmodified printmask, and modifying of the unmodified print mask comprises: schedulingthe complementary nozzle in the modified print mask to print the imagedata scheduled for the defective printer nozzle in the unmodified printmask.
 3. The method of claim 2, wherein the complementary nozzle is thefully complementary nozzle operable to print the image data in a pixellocation where the defective printer nozzle was scheduled to print theimage data.
 4. The method of claim 2, wherein the complementary nozzleis the partially complementary nozzle operable to print the image datain a pixel location neighboring a pixel location where the defectiveprinter nozzle was scheduled to print the image data.
 5. The method ofclaim 4, further comprising: scheduling the partially complementarynozzle in the modified print mask only after fully complementary nozzleswere not identified to compensate for the defective printer nozzle,wherein a fully complementary nozzle is operable to print image data ina pixel location scheduled in the unmodified print mask to be printed bythe defective printer nozzle.
 6. The method of claim 1, whereinmodifying the image comprises: modifying the image to print a portion ofthe image data in each of the plurality of pixel locations neighboringthe pixel location where the defective printer nozzle was to print theimage data.
 7. The method of claim 6, wherein the image data is printedusing one or more complementary printer nozzles.
 8. The method of claim1, wherein the print mask is an unmodified print mask, and modifying ofthe unmodified print mask comprises: obtaining a list including one ormore printer nozzles of the plurality of printer nozzles that are fullycomplementary to the defective printer nozzle, wherein the fullycomplementary nozzles can print in a pixel location where the defectiveprinter nozzle can be scheduled to print; evaluating the fullycomplementary nozzles to identify a fully complementary nozzle that canprint the image data in a pixel location where the unmodified print maskscheduled the defective printer nozzle to print the image data; andscheduling the fully complementary nozzle to print the image data in thepixel location where the unmodified print mask scheduled the defectiveprinter nozzle to print the image data.
 9. The method of claim 1,wherein the print mask is an unmodified print mask, and modifying of theunmodified print mask comprises: obtaining a list including one or moreprinter nozzles of the plurality of printer nozzles that are partiallycomplementary to the defective printer nozzle, wherein the partiallycomplementary nozzles can print in a pixel location neighboring a pixellocation where the defective printer nozzle can be scheduled to printthe image data; evaluating the partially complementary nozzles toidentify a partially complementary nozzle that can print the image datain a pixel location neighboring a pixel location where the unmodifiedprint mask scheduled the defective printer nozzle to print the imagedata; and scheduling the partially complementary nozzle to print theimage data in the pixel location neighboring the pixel location wherethe unmodified print mask scheduled the defective printer nozzle toprint the image data.
 10. The method of claim 1, wherein modifying theimage comprises: modifying the image to print at least a portion of theimage data in a pixel location other than a pixel location where thedefective printer nozzle was to print the at least the portion of theimage data.
 11. The method of claim 10, wherein the modifying of theimage comprises: randomly selecting a partially complementary nozzle toprint the at least a portion of the image data in the pixel location;and adjusting image data to be printed by the selected partiallycomplementary nozzle in the pixel location to be equal or less than amaximum value.
 12. The method of claim 10, wherein the image is modifiedonly if modifying the print mask to print the image data with thecomplementary printer nozzle would not compensate for the defectiveprinter nozzle.
 13. The method of claim 1, further comprising: if theprint mask has been modified, the printing of the image includesprinting the image using the image data in accordance with the modifiedprint mask; and if the image has been modified, the printing of theimage includes printing the image using modified image data inaccordance with the print mask.
 14. The method of claim 1, wherein themethod is performed by a shuttle-based printer operable to print theimage by ejecting ink by the plurality of printer nozzles onto a mediumwhile passing over the medium, and modifying of the print maskcomprises: scheduling the complementary nozzle to print the image dataof the defective printer nozzle during a pass different from a pass inwhich the defective printer nozzle was schedule to print the image data.15. A method to compensate for defective printer nozzles of a printer,the method comprising: initiating printing of an image in accordancewith a selected print mode; providing a plurality of levels ofcompensation including a fully complementary level of compensation and apartially complementary level of compensation; causing the printer toselect a most effective level of compensation based on the selectedprint mode for printing the image, wherein the fully complementary levelof compensation is more effective than the partially complementary levelof compensation; and printing the image in accordance with the selectedprint mode and the most effective level of compensation, wherein thepartially complementary level of compensation is selected when the fullycomplementary level of compensation is unavailable.
 16. The method ofclaim 15, wherein the most effective level of compensation is selectedby a heuristic, a set of rules, or an algorithm.
 17. A method tocompensate for a defective printer nozzle, the method comprising:detecting a defective printer nozzle of a plurality of printer nozzles;initiating a print job in a print mode, the print job including imagedata to be printed by the defective nozzle in accordance with a printmask that maps the plurality of printer nozzles to a plurality of pixellocations of an image; applying a fully complementary compensationscheme that alters the printing in pixel locations where the defectivenozzle is scheduled to print; and applying a partially complementarycompensation scheme that alters the printing of at least some of theplurality of pixels in a different way than the fully complementarycompensation scheme in one or more pixel locations where the fullycomplementary compensation scheme fails to apply a desired compensation.18. The method of claim 17, wherein the fully complementary compensationscheme modifies the print mask to print the image data with a printernozzle that is fully complementary to the defective printer nozzle. 19.The method of claim 17, wherein the partially complementary compensationscheme modifies the print mask to print the image data with a printernozzle that is partially complementary to the defective printer nozzleto print in a pixel location neighboring a pixel location where thedefective nozzle is scheduled to print.
 20. The method of claim 17,wherein the partially complementary compensation scheme modifies theimage to print the image data in one or more pixel locations neighboringa pixel location where the defective printer nozzle was to print theimage data.